package com.example.lte.po;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * Spring容器中的Bean
 * 对于开发者来说，开发者使用Spring框架主要是做两件事：①开发Bean；②配置Bean。
 * 对于Spring框架来说，它要做的就是根据配置文件来创建Bean实例，并调用Bean实例的方法完成"依赖注入"——这就是所谓IoC的本质。
 *
 * 容器中Bean的作用域
 * 当通过Spring容器创建一个Bean实例时，不仅可以完成Bean实例的实例化，还可以为Bean指定特定的作用域。
 * Spring支持如下五种作用域：
 * singleton: 单例模式，在整个Spring IoC容器中，singleton作用域的Bean将只生成一个实例。
 * prototype: 每次通过容器的getBean()方法获取prototype作用域的Bean时，都将产生一个新的Bean实例。
 * request: 对于一次HTTP请求，request作用域的Bean将只生成一个实例，这意味着，在同一次HTTP请求内，程序每次请求该Bean，得到的总是同一个实例。只有在Web应用中使用Spring时，该作用域才真正有效。
 * session：该作用域将 bean 的定义限制为 HTTP 会话。 只在web-aware Spring ApplicationContext的上下文中有效。
 * global session: 每个全局的HTTP Session对应一个Bean实例。在典型的情况下，仅在使用portlet context的时候有效，同样只在Web应用中有效。
 * 如果不指定Bean的作用域，Spring默认使用singleton作用域。
 * prototype作用域的Bean的创建、销毁代价比较大。而singleton作用域的Bean实例一旦创建成果，就可以重复使用。
 * 因此，应该尽量避免将Bean设置成prototype作用域
 *
 *
 */
@Data //自动生成get/set/toString方法
@AllArgsConstructor //自动生成全参数构造器
@NoArgsConstructor  //自动生成无参数构造器
//自动生成build工厂方法
@ApiModel(description = "用户分页请求类")
public class UserReq {

    @ApiModelProperty(value = "页码",example = "0")
    private int pageNo=0;
    @ApiModelProperty(value = "每页行数",example = "10")
    private int pageSize=10;

    private Long userId;

    @ApiModelProperty(value = "用户名",example = "张三")
    private String name;

    @ApiModelProperty(value = "账号",example = "test")
    private String account;



}
